
\documentclass{article}

\title{[Very Draft] RP4.5 Manual}


\begin{document}

\section{Introduction}

RP4.5 is a Prolog-like language for solving \emph{limiting programs}.
In contrast to regular \PROLOG programs limiting programs are infinite
and their specification includes an (infinite) stream of data.  

We assume a basic familiarity with the \PROLOG language.  In
particular readers should be familiar with the expression of a program
as a collection of clauses, and the idea of 

\section{Syntax}

\subsection{Unsound Extensions}

RP4.5 also includes several unsound extensions, much in the manner of
\PROLOG.

\extension{Cut [!]}Cut works in much the same manner as standard
\PROLOG.  It only needs to be noted that cut commits only to the
choices in that particular phase, and does nto cross phases.  A
commitment made in the inductive phase does not commit the system to
the paricular choices neede to generate that witness in the deductive
phase. 

\section{System Predicates}

Similarly to PROLOG, RP4.5 contains a collection of system
predicates.  

\extension{fail.}Fail is a goal which fails that particualr branch of
the tree.



\end{document}